
'''
设计一个温度转化器
将摄氏度转化为华氏度
'''
'''
def main():
    celsius =eval(input ("输入你知道的摄氏度："))
    print(type(celsius))##此时类型为int
    fahrenheit = 9/5 * celsius +32
    print("经过计算，今天的华氏温度为：{:.3f}".format(fahrenheit))

main()
'''
#python中的乘方**

#print()函数的end 默认为"\n"，所以当他不输出时他也会换行。可以修改end做到不换行。
'''
print("又是快乐美好一天！",end="")
print("就是不换行啊！！！")
'''

#python的实际赋值
'''
x=10   
print(id(x))   #地址一
x=11
print(id(x))   #地址二
y=11
print(id(y))   #地址二
'''

#python的输入操作
#使用 input()直接输入他都是默认为String型
#如果想获得数字类型： eval(intput()) 即可，eval可以了解为求值函数，将字符串转为数字类型。
'''
num1,num2=eval(input("输入两个数字，使用,分开"))
num3=num1+num2
print("你输入的两个数之和为：{:.3f}".format(num3))
'''

#循环
#for 变量 in 列表 ：
#    循环体
'''
for i in [1,3,5,9]:#列表的长度决定了执行的次数
    print(i**2)
'''
#range()函数
#range（num）函数就是产生0~(num-1)的数，他用来确认遍历的步数。
#print(list(range(10))) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#for i in range(10):
#    print(i**2)

#python中的其他数字运算符：
#abs（） 取绝对值 、//取整除、
'''
print(abs(-12458))
print(10/3)
print(10//3)
'''
#四舍五入
#float转化为int时直接截断，但是对于函数round(num,位数)就是保留几位数并且四舍五入。

#string转化为int。
#int("数字")
#print(type(int("3"))) int型

'''
num =int(input("请输入一个整数："))
print(type(num))
'''


#根号：sqrt()
#range()函数的重载：
'''
print(list(range(10)))#默认从0开始
print(list(range(5,10)))#默认从5开始，步长为1
print(list(range(5,10,2)))#默认从5开始，步长为2
print(list(range(10,5,-2)))#从10开始到5，步长为2，反向
'''

#字符串
#索引：
#print("asdassd"[0])
#print("zxcvbnm"[-1])
#切片：
#print("我是小明"[0:4])左闭右开
#重复 *
#print("我我我"*5)
#长度： len()
#print(len("dasasda"))


#列表
#列表比字符串的好处：列表不仅仅可以放字符，而且可以放其他的元素。
#方法：append追加
#list1=["as","a","whore"]
#ist1.append("!")
#print(list1)
#string.join([])
'''
str="qwertyuiop"
lsit=["q",3,'v',"aa",95]
print(str[0])
print(lsit[0])
str[0]='z'#字符串的元素不可以更改
lsit[0]='z'
print(str[0])
print(lsit[0])
'''

#将字符转化为ascii码和将ascii码转化字符 chr() ord()
#print(chr(65))
#print(ord('A'))
'''
message = input("输入一串字符：")
for ch in message:
    print(ord(ch),end=" ")
'''
#split()方法分割

#将数字转化为字符串  使用函数str()
#print(type(str(23)))


#深入理解  format函数
#<格式语句>.format<值>

#格式语句：
#{值的索引:宽度.位数+类型}  宽度是指当你的数字小于宽度时使用空格填充
#print("第一个值为：{1},第二个值为：{0}".format(1,5))
#print("第一个值并且宽度为5:{0:5},第二个值并且宽度为0：{1:0}".format(1,2))
#print("第一个值宽度为5，精度为3:{0:5.3f}".format(1000))



#文件处理
#使用open函数   <变量> = open (<url>,<mode>)  mode :r 是读取 w是写入
#函数：  read 全部以字符串返回。   readline  返回下一行。  readlines 返回下面的每一行，每一行都是列表
#infile = open("E:\VS2017\PythonWork\Python自学\Demo.txt")
#print(infile.read())
#print(infile.readline())
#print(infile.readlines())
#for line in infile:
#    print(line)
#向一个文件中写入文件，如果文件不存在自动创建
#file = open("E:\VS2017\PythonWork\Python自学\Demo1.txt","w")
#file.write("呵呵呵")
#file.close()

#定义函数
#def 函数名():
       #函数体
'''
def fan():
    print("我是小明！")

def main():
    for i in range(10):
        fan()

main()
'''

#带有参数的函数
'''
def fan(v):
    print("你好啊，"+v)

def main():
    v = input("输入你的姓名：")
    fan(v)

main()
'''
#带有返回参数的函数
'''
def fan():
     file=open("E:\VS2017\PythonWork\Python自学\Demo.txt")
     lines=file.readlines()
     return lines

def main():
   print(fan())

main()
'''
#返回多个参数的py函数
'''
def fan():
    return 0,2;

def main():
    num1,num2=fan()
    print(num1)
    print(num2)

main()
'''


#py的结构语句
#if <条件>:
      #<语句>
'''
def fan(num1,num2):
    if(num1<=num2):
        print("num1的值小于或者等于num2的值")
    else:
        print("num2的值大于num1的值")


def main():
    fan(1,2)

main()
'''

#3版本以上的py   布尔值只有True,False
'''
def main():
    print("hello,world")

if __name__=="__main__":
    main()
'''

#异常处理：
#       try:
#             <代码体>
#       except 异常类型 as 对象名：
#              <处理方式>
'''
import math
try:
    math.sqrt(-1)
except BaseException as ve:
      print(str(ve))
'''
#异常类：最基本的异常类：BaseException    常规的异常类：Exception      输入输出的异常：IOError 
'''
try :
    x=10/0
except Exception as e:#将异常转化为对象e
    print(str(e))
finally:
    print("py中有finally关键字好开心！")

'''
